package com.rectcircle.scalatrateset.command.commandsupport

// 导入模型
import com.rectcircle.scalatrateset.model.{Todo, TodoData}

// Scalatra命令处理器
import org.scalatra.commands._


abstract class TodosCommand[S] extends ParamsOnlyCommand

object CreateTodoCommand {
	//将隐式转换放在create todos命令的伴随对象中，确保它是默认后备
	//用于隐式解析。
//	implicit def createTodoCommandAsTodo(cmd: CreateTodoCommand): Todo = TodoData.newTodo(~cmd.name.value)
}

/** 用于验证和创建Todo对象的命令。 */
class CreateTodoCommand extends TodosCommand[Todo] {
	
	val name: Field[String] = asType[String]("name").notBlank.minLength(3)
	
}